home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Tools / Languages / MacHaskell 2.2 / progs / lib / hbc / PrintfPrims.scm < prev    next >
Encoding:
Text File  |  1994-09-27  |  629 b   |  19 lines  |  [TEXT/CCL2]

  1. (define (prim.fmte p d)
  2.   (dynamic-let ((lisp:*read-default-float-format* 'lisp:double-float))
  3.     (lisp:format '#f "~,v,3e" p d)))
  4.  
  5. (define (prim.fmtf p d)
  6.   (dynamic-let ((lisp:*read-default-float-format* 'lisp:double-float))
  7.     (lisp:format '#f "~,vf" p d)))
  8.  
  9. (define (prim.fmtg p d)
  10.   (dynamic-let ((lisp:*read-default-float-format* 'lisp:double-float))
  11.     (let ((expt  (lisp:log (lisp:abs d) 10)))
  12.       ;; Use the ANSI C rule for deciding which format to use, rather
  13.       ;; than the Common Lisp rule.
  14.       (if (or (< expt -4) (>= expt p))
  15.       (lisp:format '#f "~,v,3e" p d)
  16.           (lisp:format '#f "~,vf" p d)))))
  17.  
  18.  
  19.